1. The Field of the Invention
The present invention relates to transferring objects between computer systems. More specifically, the present invention relates to systems, methods, and computer program products for selecting an appropriate transfer mechanism, from among a number of compatible transfer mechanisms, when transferring an object from a sending computer system to a receiving computer system.
2. Background and Relevant Art
Many computer systems, especially wireless computer systems, have multiple transfer mechanisms that may be utilized when transferring an object. For example, Personal Digital Assistants often include the functionality to transfer data via infrared (“IR”), via other wireless LAN technologies, such as BLUETOOTH™ and wireless Transmission Control Protocol/Internet Protocol (“TCP/IP”), and via wireless technologies supported by mobile carriers, such as General Packet Radio Service (“GPRS”) and Code-Division Multiple Access (“CDMA”). However, not all computer systems may be configured to utilize the same transfer mechanisms. For example, a sending computer system may be configured to utilize IR, BLUETOOTH™, and CDMA and a receiving computer system may be configured to utilize IR, wireless TCP/IP, and CDMA. Thus, even if the sending computer system views BLUETOOTH™ as a desirable transfer mechanism and the receiving computer system views wireless TCP/IP as a desirable transfer mechanism, neither of these transfer mechanisms may be utilized. However, this incompatibility may be unknown to a user.
Identifying compatible transfer mechanisms between computer systems may require a user to be aware of substantial configuration information before a data transfer may occur. A user may need to be aware of configuration information not only for their computer system, but also for another unfamiliar computer system that will either send an object to or receive an object from the user's computer system. A user may lack the technical skills to manipulate such configuration information to identify compatible transfer mechanisms.
Even if a user has the technical skills to manipulate configuration information to identify compatible transfer mechanisms, a user may lack the skills to select an appropriate transfer mechanism from among the compatible transfer mechanisms. Each transfer mechanism may be associated with multiple transfer characteristics that define how an object is transferred. A transfer mechanism may be associated with transfer characteristics such as bandwidth, latency, signal strength, packet size, power consumption, support for authentication and/or encryption, and time to establish a connection.
Different transfer mechanisms may have different values for transfer characteristics. For example, IR may have a representative bandwidth of ten and GPRS may have a representative bandwidth of seven. Thus, transfer of an object may be completed in a timelier manner when the object is transferred via IR. However, IR may be associated with a representative power consumption of five and GPRS may be associated with a representative power consumption of one. Thus, more power may be consumed when transferring an object via IR than when transferring an object via GPRS. In this case, the appropriate transfer mechanism for transferring an object may vary depending on whether speed or conservation of power is of greater importance.
When multiple transfer mechanisms are each associated with numerous transfer characteristics of differing values, selecting an appropriate transfer mechanism may require a substantial number of mathematical computations. A user attempting to select an appropriate transfer mechanism under these conditions may become confused or may lack the technical skills to perform such computations. Even if a user possesses the requisite technical skills, the user may lack the time or desire to perform the computations.
The problem may be significantly compounded in environments where the values of transfer characteristics vary over time and thereby cause previously desirable transfer mechanisms to become less desirable. For example, a BLUETOOTH™ transfer mechanism may typically have significantly greater bandwidth than a GPRS transfer mechanism, however due to congestion on a BLUETOOTH™ network, the GPRS transfer mechanism may be more desirable at a certain time. If the values of transfer characteristics change rapidly or frequently, mathematical computations may need to be performed in a time sensitive manner to accurately represent which transfer mechanisms are currently more desirable. In these situations, it may be impractical for a user to perform such time sensitive computations, and it may in fact be impossible for a user to perform computations at the same rate network conditions change.
It may also be that an administrative entity desires to limit the use of a particular transfer mechanism under certain conditions. For example, a mobile carrier service provider may desire that a particular transfer mechanism be utilized only when conditions are advantageous to the mobile carrier. This may occur when a mobile carrier utilizes both shared and proprietary transfer mechanisms. If, when an object is to be transferred, a shared transfer mechanism has relatively low usage, the mobile carrier may desire to utilize the shared transfer mechanism. On the other hand, if the shared transfer mechanism has a relatively high usage, the mobile carrier may desire to utilize a proprietary transfer mechanism. A significant number of mathematical computations may be required to determine whether the use of a particular transfer mechanism is advantageous at a given point in time. Technical personnel associated with an administrative entity may lack the time or desire to perform such computations.
Therefore, what are desired are systems, methods, and computer program products, for selecting an appropriate transfer mechanism for transferring an object.